package com.zmm.zebulon.module.infra.biz.convert.file;

import com.zmm.zebulon.common.pojo.PageResult;
import com.zmm.zebulon.module.infra.biz.controller.admin.file.vo.config.FileConfigCreateReqVO;
import com.zmm.zebulon.module.infra.biz.controller.admin.file.vo.config.FileConfigRespVO;
import com.zmm.zebulon.module.infra.biz.controller.admin.file.vo.config.FileConfigUpdateReqVO;
import com.zmm.zebulon.module.infra.biz.dal.dataobject.file.FileConfigDO;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 /**
 * description: 文件配置 类型转换
 *
 * @author zebulon
 * package com.zmm.zebulon.module.infra.biz.convert.file
 * name: FileConfigConvert
 * date 2024/1/7 20:17
 */
@Mapper
public interface FileConfigConvert {

    FileConfigConvert INSTANCE = Mappers.getMapper(FileConfigConvert.class);

    @Mapping(target = "config", ignore = true)
    FileConfigDO convert(FileConfigCreateReqVO bean);

    @Mapping(target = "config", ignore = true)
    FileConfigDO convert(FileConfigUpdateReqVO bean);

    FileConfigRespVO convert(FileConfigDO bean);

    List<FileConfigRespVO> convertList(List<FileConfigDO> list);

    PageResult<FileConfigRespVO> convertPage(PageResult<FileConfigDO> page);

}
